package zxs.sino.elite.hub.service;

import com.github.yulichang.base.MPJBaseService;
import zxs.sino.elite.hub.model.app.AuthEntity;
import zxs.sino.elite.hub.model.form.LoginForm;
import zxs.sino.elite.hub.model.form.WXLoginForm;

import java.io.IOException;
import java.net.URISyntaxException;

/**
 * 用户认证表
 *
 * @author zhang
 * @email 15824760766@163.com
 * @date 2025-08-31 20:57:21
 */
public interface UserAuthService extends MPJBaseService<AuthEntity> {

    /**
     * 微信小程序登录
     *
     */
    String appletLogin(WXLoginForm wxLoginForm) throws IOException, URISyntaxException;

    /**
     * 发送短信登录验证码
     * @param phone 验证手机号
     */
    void sendPhoneCode(String phone);

    /**
     * 微信小程序外登录
     *
     * @param loginType 登录方式
     * @param loginForm 登录验证内容
     */
    String login(int loginType, LoginForm loginForm);

    /**
     * 更新用户登录密码
     * @param loginForm 登录验证内容
     */
    void updatePassword(LoginForm loginForm);

    /**
     * 用户退出
     */
    void logout();
}
